home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / Clueless.swf / scripts / XMLPackage.as < prev   
Encoding:
Text File  |  2011-10-17  |  3.6 KB  |  130 lines

  1. package
  2. {
  3.    import Common.ResourceManager;
  4.    import flash.display.Bitmap;
  5.    import flash.display.BitmapData;
  6.    import flash.utils.getDefinitionByName;
  7.    
  8.    public class XMLPackage
  9.    {
  10.        
  11.       
  12.       internal var _sDataRoot:String;
  13.       
  14.       public var Names:Array;
  15.       
  16.       internal var _fnCallback:Function;
  17.       
  18.       internal var _rmMain:ResourceManager;
  19.       
  20.       internal var _sFilename:String;
  21.       
  22.       internal var _rmXML:ResourceManager;
  23.       
  24.       public var Images:Array;
  25.       
  26.       public function XMLPackage(param1:String, param2:String, param3:Function)
  27.       {
  28.          _rmXML = new ResourceManager();
  29.          _rmMain = new ResourceManager();
  30.          Names = new Array();
  31.          Images = new Array();
  32.          super();
  33.          _sFilename = param1;
  34.          _sDataRoot = param2;
  35.          _fnCallback = param3;
  36.          _rmXML.CallbackFunction = LoadfromLibrary;
  37.          _rmXML.setXMLResource("Package",param1);
  38.          LoadfromLibrary();
  39.       }
  40.       
  41.       protected function onXMLLoaded() : void
  42.       {
  43.          var _loc1_:XML = null;
  44.          var _loc2_:XML = null;
  45.          var _loc3_:* = undefined;
  46.          var _loc4_:* = undefined;
  47.          _loc1_ = _rmXML.getResource("Package",ResourceManager.C_XML);
  48.          for each(_loc2_ in _loc1_.elements())
  49.          {
  50.             _loc3_ = _loc2_.@Name;
  51.             _loc4_ = _loc2_.@File;
  52.             Names.push(_loc3_);
  53.             _rmMain.queueResourceLoad(_sDataRoot + "/" + _loc4_,_loc3_,ResourceManager.C_IMAGES);
  54.          }
  55.          _rmMain.CallbackFunction = onResLoaded;
  56.          _rmMain.loadResource();
  57.       }
  58.       
  59.       public function getImage(param1:String) : BitmapData
  60.       {
  61.          var _loc2_:int = 0;
  62.          _loc2_ = 0;
  63.          while(_loc2_ < Names.length)
  64.          {
  65.             if(Names[_loc2_] == param1)
  66.             {
  67.                return Images[_loc2_].bitmapData;
  68.             }
  69.             _loc2_++;
  70.          }
  71.          return null;
  72.       }
  73.       
  74.       protected function LoadfromLibrary() : void
  75.       {
  76.          var _loc1_:XML = null;
  77.          var _loc2_:Class = null;
  78.          var _loc3_:BitmapData = null;
  79.          var _loc4_:XML = null;
  80.          var _loc5_:* = undefined;
  81.          var _loc6_:* = undefined;
  82.          _loc1_ = _rmXML.getResource("Package",ResourceManager.C_XML);
  83.          for each(_loc4_ in _loc1_.elements())
  84.          {
  85.             _loc5_ = _loc4_.@Name;
  86.             _loc6_ = _loc4_.@File;
  87.             Names.push(_loc5_);
  88.             _loc2_ = getDefinitionByName(_loc6_) as Class;
  89.             _loc3_ = new _loc2_(0,0);
  90.             Images.push(new Bitmap(_loc3_));
  91.          }
  92.          _fnCallback(_sFilename);
  93.       }
  94.       
  95.       public function getImageIndex(param1:String) : int
  96.       {
  97.          var _loc2_:int = 0;
  98.          _loc2_ = 0;
  99.          while(_loc2_ < Names.length)
  100.          {
  101.             if(Names[_loc2_] == param1)
  102.             {
  103.                return _loc2_;
  104.             }
  105.             _loc2_++;
  106.          }
  107.          return -1;
  108.       }
  109.       
  110.       public function getRandomImageName() : String
  111.       {
  112.          var _loc1_:int = 0;
  113.          _loc1_ = Math.random() * (Names.length - 1);
  114.          return Names[_loc1_];
  115.       }
  116.       
  117.       protected function onResLoaded() : void
  118.       {
  119.          var _loc1_:int = 0;
  120.          _loc1_ = 0;
  121.          while(_loc1_ < Names.length)
  122.          {
  123.             Images.push(_rmMain.getResource(Names[_loc1_],ResourceManager.C_IMAGES));
  124.             _loc1_++;
  125.          }
  126.          _fnCallback(_sFilename);
  127.       }
  128.    }
  129. }
  130.